package spring.framework.beans.factory.config;

import spring.framework.beans.BeansException;
import spring.framework.beans.factory.ConfigurableListableBeanFactory;

/**
 * @author fun.pengzh
 * @class spring.framework.beans.factory.config.BeanFactoryPostProcessor
 * @desc BeanFactory后置处理器
 * @since 2021-09-30
 */
public interface BeanFactoryPostProcessor {

    /**
     * 在所有的 BeanDefinition 加载完成后，实例化 Bean 对象之前，提供修改 BeanDefinition 属性的机制
     *
     * @param factory
     * @throws BeansException
     */
    void postProcessBeanFactory(ConfigurableListableBeanFactory factory) throws BeansException;

}
